package dse.modules;

import dse.*;
import dse.messages.MessageType;

public interface MessageSizeCalculator extends Module {
	long calculateSize (MessageType messageType);
	long calculateSize (
			MessageType messageType, int elements, int elementSizeModifier
			);
	long calculateSize (MessageType messageType, DataObject dataObject);
	long calculateSize (
			MessageType messageType, 
			BloomFilter<DataObject> bloomFilter
			);
	//long calculateSize (MessageType messageType, DataShare dataShare);
	public long calculateSize (
			MessageType messageType, DataObject dobj, int elements, int elementSizeModifier
			);
}
